﻿using Microsoft.AspNetCore.Components.Forms;
using System.Security.Cryptography;
using System.Text;

namespace PermissionAuthenticationDemo.Config
{
    public class ToMD5<T>
    {
        public string GetMD5Dat(T input)
        {
            using (MD5 md5Hash = MD5.Create())
            {
                // 将字符串转换为字节数组  
                byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input.ToString()));

                // 创建一个StringBuilder来收集字节  
                // 并创建一个字符串（该字符串为哈希的十六进制表示形式）  
                StringBuilder sBuilder = new StringBuilder();

                // 循环遍历哈希字节，并将其格式化为十六进制字符串  
                for (int i = 0; i < data.Length; i++)
                {
                    sBuilder.Append(data[i].ToString("x2"));
                }

                // 返回十六进制字符串  
                return sBuilder.ToString();
            }
        }
    }
}
